/**
 * Copyright:  Copyright (c) 2013
 *
 * @FileName		: DistributionProductMaterialAction.java
 * @PageName		: 제품재고
 * @Date			: 오후 3:37:54
 * @LastModifier	: 최경민
 * @LastModifyDate	: 
 * @LastModifier	: 
 * Change history	:
 */
package com.pulp.distribution.action;

import java.util.List;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;

import org.apache.log4j.Logger;
import org.apache.struts2.ServletActionContext;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.pulp.distribution.service.DistributionService;
import com.se.model.CommonSessionUser;

/**
 * @author 최경민
 * 
 */
public class DistributionProductMaterialAction extends ActionSupport {
	private static final long serialVersionUID = -8498875476402162826L;
	private String REQUEST_RESULT = "ok";
	static Logger logger = Logger.getLogger(DistributionProductMaterialAction.class);

	private String errorCode = "";

	private List productInventoryYearList = null;
	private List productInventoryMonthList = null;
	private List productInventoryDateList = null;

	
	/**
	 * @return the rEQUEST_RESULT
	 */
	public String getREQUEST_RESULT() {
		return REQUEST_RESULT;
	}

	/**
	 * @param rEQUEST_RESULT the rEQUEST_RESULT to set
	 */
	public void setREQUEST_RESULT(String rEQUEST_RESULT) {
		REQUEST_RESULT = rEQUEST_RESULT;
	}

	/**
	 * @return the logger
	 */
	public static Logger getLogger() {
		return logger;
	}

	/**
	 * @param logger the logger to set
	 */
	public static void setLogger(Logger logger) {
		DistributionProductMaterialAction.logger = logger;
	}

	/**
	 * @return the errorCode
	 */
	public String getErrorCode() {
		return errorCode;
	}

	/**
	 * @param errorCode the errorCode to set
	 */
	public void setErrorCode(String errorCode) {
		this.errorCode = errorCode;
	}

	/**
	 * @return the productInventoryYearList
	 */
	public List getProductInventoryYearList() {
		return productInventoryYearList;
	}

	/**
	 * @param productInventoryYearList the productInventoryYearList to set
	 */
	public void setProductInventoryYearList(List productInventoryYearList) {
		this.productInventoryYearList = productInventoryYearList;
	}

	/**
	 * @return the productInventoryMonthList
	 */
	public List getProductInventoryMonthList() {
		return productInventoryMonthList;
	}

	/**
	 * @param productInventoryMonthList the productInventoryMonthList to set
	 */
	public void setProductInventoryMonthList(List productInventoryMonthList) {
		this.productInventoryMonthList = productInventoryMonthList;
	}

	/**
	 * @return the productInventoryDateList
	 */
	public List getProductInventoryDateList() {
		return productInventoryDateList;
	}

	/**
	 * @param productInventoryDateList the productInventoryDateList to set
	 */
	public void setProductInventoryDateList(List productInventoryDateList) {
		this.productInventoryDateList = productInventoryDateList;
	}

	public String execute() throws Exception {
		System.out.println("DistributionProductMaterialAction==================");
		try {

			HttpServletRequest request = (HttpServletRequest) ServletActionContext.getRequest();
			ActionContext context = ActionContext.getContext();
			CommonSessionUser user = (CommonSessionUser) request.getSession().getAttribute(CommonSessionUser.ATTRIBUTE_NAME);
			ServletContext servletContext = ServletActionContext.getServletContext();
			WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(servletContext);
			DistributionService distributionService = (DistributionService) wac.getBean("distributionService");

			productInventoryYearList = distributionService.getProductInventoryYear();
			productInventoryMonthList = distributionService.getProductInventoryMonth();
			productInventoryDateList = distributionService.getProductInventoryDate();

			request.setAttribute("productInventoryYearList", productInventoryYearList);
			request.setAttribute("productInventoryMonthList", productInventoryMonthList);
			request.setAttribute("productInventoryDateList", productInventoryDateList);

		} catch (Exception ex) {
			REQUEST_RESULT = "FAILED";
			ex.printStackTrace();
		}
		return REQUEST_RESULT;
	}
}
